package com.zkingsoft.services;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.zkingsoft.model.Project;
import com.zkingsoft.model.WorkLog;
import com.zkingsoft.plugin.pojo.PaginationVO;
/**
 * @description 个人工作日志
 * @author 吴建
 * @email 1582406829@qq.com
 * @date 2018-07-20
 */
public interface WorkLogService {
	/**
	 * @description 我的日志列表
	 * @author 吴建
	 * @email 1582406829@qq.com
	 * @date 2018-07-20
	 */
	List<WorkLog> selectWorkLogList(WorkLog workLog,PaginationVO pageVo);
	
	/**
	 * @description 我的日志列表总数
	 * @author 吴建
	 * @email 1582406829@qq.com
	 * @date 2018-07-20
	 */
	int selectWorkLogListTotal(WorkLog workLog);
	
	/**
	 * @description 修改我发送的日志日志
	 * @author 吴建
	 * @email 1582406829@qq.com
	 * @date 2018-07-20
	 */
	int addOrModify(WorkLog workLog);
	
	
	/**
	 * @description 新增工作日志
	 * @author 吴建
	 * @email 1582406829@qq.com
	 * @date 2018-07-20
	 */
	long addWorkLog(WorkLog workLog);
	
	/**
	 * @description 成本统计图
	 * @author 吴建
	 * @email 1582406829@qq.com
	 * @date 2018-07-20
	 */
	List<Map<String,Object>> selectSummaryGraph(long projId);
	
	/**
	 * @description 给抄送人的日志
	 * @author 吴建
	 * @email 1582406829@qq.com
	 * @date 2018-07-20
	 */
	List<Map<String,Object>> selectUserLog(String userId);
	
	/**
	 * @description 查询发送者的日志
	 * @author 吴建
	 * @email 1582406829@qq.com
	 * @date 2018-07-20
	 **/
	List<WorkLog> selectReceiverId(long senderId);
	
	/**
	 * @description 根据workID查询日志
	 * @author 吴建
	 * @email 1582406829@qq.com
	 * @date 2018-07-20
	 * */
	WorkLog selectWorkLogId(long workLog);
	
	/**
	 * @description 查询三天唯有写日志的人
	 * @author 吴建
	 * @email 1582406829@qq.com
	 * @date 2018-07-20
	 **/
	List<Map<String,Object>> selectUsersId();
	
	/***
	 * 根据用户ID查询项目工程
	 * @author 吴建
	 * @date 20180724
	 */
	List<Project> selectProject(long userId);
	
	/**
	 * 查询当日用户在项目中是否已经创建日志
	 * @author 吴建
	 * @date 20180724
	 * **/
	int selectToDayWorkLog(WorkLog workLog);
	
	/**
	 * 查询所有人的工作日志
	 * @author 吴建
	 * @date 20181008
	 * */
	List<WorkLog> selectAllUserWork(WorkLog workLog,PaginationVO pageVo);
	
	int selectAllUserWorkTotal(WorkLog workLog);
}
